package com.yf.dxapp.module.app.controller.admin.material.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import jakarta.validation.constraints.*;

@Schema(description = "管理后台 - 素材信息新增/修改 Request VO")
@Data
public class MaterialSaveReqVO {

    @Schema(description = "商品id", requiredMode = Schema.RequiredMode.REQUIRED, example = "2254")
    private Long id;

    @Schema(description = "商品标题", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "商品标题不能为空")
    private String title;

    @Schema(description = "商品分类", requiredMode = Schema.RequiredMode.REQUIRED, example = "17498")
    private Long productId;

    @Schema(description = "内部产品分类", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    private Integer productType;

    @Schema(description = "IMG-商品主图", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "IMG-商品主图不能为空")
    private String cover;

    @Schema(description = "轮播图urls", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn")
    @NotEmpty(message = "轮播图urls不能为空")
    private String coverImgMaterialUrl;

    @Schema(description = "商品链接（普通计划链接）", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "商品链接（普通计划链接）不能为空")
    private String simpleTitle;

    @Schema(description = "商品链接（普通计划链接）", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn")
    @NotEmpty(message = "商品链接（普通计划链接）不能为空")
    private String url;

    @Schema(description = "推广文案", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "推广文案不能为空")
    private String promotion;

    @Schema(description = "视频链接", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn")
    @NotEmpty(message = "视频链接不能为空")
    private String videoUrl;

}